<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE CPP #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE MagicHash #-}</span><span>
</span><span id="line-3"></span><span class="hs-pragma">{-# LANGUAGE NoImplicitPrelude #-}</span><span>
</span><span id="line-4"></span><span class="hs-pragma">{-# LANGUAGE UnboxedTuples #-}</span><span>
</span><span id="line-5"></span><span class="hs-pragma">{-# LANGUAGE BangPatterns #-}</span><span>
</span><span id="line-6"></span><span class="hs-pragma">{-# LANGUAGE BlockArguments #-}</span><span class="hs-cpp">

#include &quot;MachDeps.h&quot;
</span><span class="hs-cpp">#include &quot;WordSize.h&quot;
</span><span>
</span><span id="line-11"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Num.Natural</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-12"></span><span>
</span><span id="line-13"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#"><span class="hs-identifier">GHC.Prim</span></a></span><span>
</span><span id="line-14"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#"><span class="hs-identifier">GHC.Types</span></a></span><span>
</span><span id="line-15"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#"><span class="hs-identifier">GHC.Classes</span></a></span><span>
</span><span id="line-16"></span><span>
</span><span id="line-17"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Num.BigNat.html"><span class="hs-identifier">GHC.Num.BigNat</span></a></span><span>
</span><span id="line-18"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html"><span class="hs-identifier">GHC.Num.Primitives</span></a></span><span>
</span><span id="line-19"></span><span>
</span><span id="line-20"></span><span class="hs-keyword">default</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-21"></span><span>
</span><span id="line-22"></span><span class="hs-comment">-- | Natural number</span><span>
</span><span id="line-23"></span><span class="hs-comment">--</span><span>
</span><span id="line-24"></span><span class="hs-comment">-- Invariant: numbers &lt;= WORD_MAXBOUND use the `NS` constructor</span><span>
</span><span id="line-25"></span><span class="hs-keyword">data</span><span> </span><span id="Natural"><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-var">Natural</span></a></span></span><span>
</span><span id="line-26"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span id="NS"><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span></span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-27"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span id="NB"><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span></span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="GHC.Num.BigNat.html#BigNat%23"><span class="hs-identifier hs-type">BigNat#</span></a></span><span>
</span><span id="line-28"></span><span>
</span><span id="line-29"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-type">Eq</span></a></span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-30"></span><span>   </span><span id="local-6989586621679033666"><span class="annot"><span class="annottext">== :: Natural -&gt; Natural -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">(==)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalEq"><span class="hs-identifier hs-var">naturalEq</span></a></span><span>
</span><span id="line-31"></span><span>   </span><span id="local-6989586621679033664"><span class="annot"><span class="annottext">/= :: Natural -&gt; Natural -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">(/=)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalNe"><span class="hs-identifier hs-var">naturalNe</span></a></span><span>
</span><span id="line-32"></span><span>
</span><span id="line-33"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679033651"><span id="local-6989586621679033653"><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Ord"><span class="hs-identifier hs-type">Ord</span></a></span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-34"></span><span>   </span><span id="local-6989586621679033649"><span class="annot"><span class="annottext">compare :: Natural -&gt; Natural -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#compare"><span class="hs-identifier hs-var hs-var hs-var hs-var">compare</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Ordering
</span><a href="GHC.Num.Natural.html#naturalCompare"><span class="hs-identifier hs-var">naturalCompare</span></a></span><span>
</span><span id="line-35"></span><span>   </span><span id="local-6989586621679033647"><span class="annot"><span class="annottext">&gt; :: Natural -&gt; Natural -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&gt;)</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalGt"><span class="hs-identifier hs-var">naturalGt</span></a></span><span>
</span><span id="line-36"></span><span>   </span><span id="local-6989586621679033644"><span class="annot"><span class="annottext">&gt;= :: Natural -&gt; Natural -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">(&gt;=)</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalGe"><span class="hs-identifier hs-var">naturalGe</span></a></span><span>
</span><span id="line-37"></span><span>   </span><span id="local-6989586621679033642"><span class="annot"><span class="annottext">&lt; :: Natural -&gt; Natural -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;)</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalLt"><span class="hs-identifier hs-var">naturalLt</span></a></span><span>
</span><span id="line-38"></span><span>   </span><span id="local-6989586621679033639"><span class="annot"><span class="annottext">&lt;= :: Natural -&gt; Natural -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;=)</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalLe"><span class="hs-identifier hs-var">naturalLe</span></a></span><span>
</span><span id="line-39"></span><span>
</span><span id="line-40"></span><span>
</span><span id="line-41"></span><span class="hs-comment">-- | Check Natural invariants</span><span>
</span><span id="line-42"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalCheck%23"><span class="hs-identifier hs-type">naturalCheck#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-43"></span><span id="naturalCheck%23"><span class="annot"><span class="annottext">naturalCheck# :: Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalCheck%23"><span class="hs-identifier hs-var hs-var">naturalCheck#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-44"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalCheck%23"><span class="hs-identifier hs-var">naturalCheck#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033635"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033635"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatCheck%23"><span class="hs-identifier hs-var">bigNatCheck#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033635"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#%26%26%23"><span class="hs-operator hs-var">&amp;&amp;#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatSize%23"><span class="hs-identifier hs-var">bigNatSize#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033635"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-45"></span><span>
</span><span id="line-46"></span><span class="hs-comment">-- | Check Natural invariants</span><span>
</span><span id="line-47"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalCheck"><span class="hs-identifier hs-type">naturalCheck</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-48"></span><span id="naturalCheck"><span class="annot"><span class="annottext">naturalCheck :: Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalCheck"><span class="hs-identifier hs-var hs-var">naturalCheck</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033630"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033630"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalCheck%23"><span class="hs-identifier hs-var">naturalCheck#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033630"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-49"></span><span>
</span><span id="line-50"></span><span class="hs-comment">-- | Zero Natural</span><span>
</span><span id="line-51"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalZero"><span class="hs-identifier hs-type">naturalZero</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-52"></span><span id="naturalZero"><span class="annot"><span class="annottext">naturalZero :: Natural
</span><a href="GHC.Num.Natural.html#naturalZero"><span class="hs-identifier hs-var hs-var">naturalZero</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-53"></span><span>
</span><span id="line-54"></span><span class="hs-comment">-- | One Natural</span><span>
</span><span id="line-55"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalOne"><span class="hs-identifier hs-type">naturalOne</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-56"></span><span id="naturalOne"><span class="annot"><span class="annottext">naturalOne :: Natural
</span><a href="GHC.Num.Natural.html#naturalOne"><span class="hs-identifier hs-var hs-var">naturalOne</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span>
</span><span id="line-57"></span><span>
</span><span id="line-58"></span><span class="hs-comment">-- | Test Zero Natural</span><span>
</span><span id="line-59"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalIsZero"><span class="hs-identifier hs-type">naturalIsZero</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-60"></span><span id="naturalIsZero"><span class="annot"><span class="annottext">naturalIsZero :: Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalIsZero"><span class="hs-identifier hs-var hs-var">naturalIsZero</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-61"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalIsZero"><span class="hs-identifier hs-var">naturalIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>
</span><span id="line-62"></span><span>
</span><span id="line-63"></span><span class="hs-comment">-- | Test One Natural</span><span>
</span><span id="line-64"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalIsOne"><span class="hs-identifier hs-type">naturalIsOne</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-65"></span><span id="naturalIsOne"><span class="annot"><span class="annottext">naturalIsOne :: Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalIsOne"><span class="hs-identifier hs-var hs-var">naturalIsOne</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-66"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalIsOne"><span class="hs-identifier hs-var">naturalIsOne</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>
</span><span id="line-67"></span><span>
</span><span id="line-68"></span><span class="hs-comment">-- | Indicate if the value is a power of two and which one</span><span>
</span><span id="line-69"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalIsPowerOf2%23"><span class="hs-identifier hs-type">naturalIsPowerOf2#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-70"></span><span id="naturalIsPowerOf2%23"><span class="annot"><span class="annottext">naturalIsPowerOf2# :: Natural -&gt; (# (# #) | Word# #)
</span><a href="GHC.Num.Natural.html#naturalIsPowerOf2%23"><span class="hs-identifier hs-var hs-var">naturalIsPowerOf2#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033623"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033623"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; (# (# #) | Word# #)
</span><a href="GHC.Num.Primitives.html#wordIsPowerOf2%23"><span class="hs-identifier hs-var">wordIsPowerOf2#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033623"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-71"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalIsPowerOf2%23"><span class="hs-identifier hs-var">naturalIsPowerOf2#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033621"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033621"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; (# (# #) | Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatIsPowerOf2%23"><span class="hs-identifier hs-var">bigNatIsPowerOf2#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033621"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-72"></span><span>
</span><span id="line-73"></span><span class="hs-comment">-- | Create a Natural from a BigNat# (respect the invariants)</span><span>
</span><span id="line-74"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-type">naturalFromBigNat#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.BigNat.html#BigNat%23"><span class="hs-identifier hs-type">BigNat#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-75"></span><span id="naturalFromBigNat%23"><span class="annot"><span class="annottext">naturalFromBigNat# :: ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var hs-var">naturalFromBigNat#</span></a></span></span><span> </span><span id="local-6989586621679033618"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033618"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatSize%23"><span class="hs-identifier hs-var">bigNatSize#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033618"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-76"></span><span>   </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="GHC.Num.Natural.html#naturalZero"><span class="hs-identifier hs-var">naturalZero</span></a></span><span>
</span><span id="line-77"></span><span>   </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatIndex%23"><span class="hs-identifier hs-var">bigNatIndex#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033618"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-78"></span><span>   </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033618"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-79"></span><span>
</span><span id="line-80"></span><span class="hs-comment">-- | Convert a Natural into a BigNat#</span><span>
</span><span id="line-81"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToBigNat%23"><span class="hs-identifier hs-type">naturalToBigNat#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.BigNat.html#BigNat%23"><span class="hs-identifier hs-type">BigNat#</span></a></span><span>
</span><span id="line-82"></span><span id="naturalToBigNat%23"><span class="annot"><span class="annottext">naturalToBigNat# :: Natural -&gt; ByteArray#
</span><a href="GHC.Num.Natural.html#naturalToBigNat%23"><span class="hs-identifier hs-var hs-var">naturalToBigNat#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033615"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033615"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033615"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-83"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToBigNat%23"><span class="hs-identifier hs-var">naturalToBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033613"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033613"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033613"><span class="hs-identifier hs-var">bn</span></a></span><span>
</span><span id="line-84"></span><span>
</span><span id="line-85"></span><span class="hs-comment">-- | Create a Natural from a Word#</span><span>
</span><span id="line-86"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalFromWord%23"><span class="hs-identifier hs-type">naturalFromWord#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-87"></span><span id="naturalFromWord%23"><span class="annot"><span class="annottext">naturalFromWord# :: Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromWord%23"><span class="hs-identifier hs-var hs-var">naturalFromWord#</span></a></span></span><span> </span><span id="local-6989586621679033611"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033611"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033611"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-88"></span><span>
</span><span id="line-89"></span><span class="hs-comment">-- | Convert two Word# (most-significant first) into a Natural</span><span>
</span><span id="line-90"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalFromWord2%23"><span class="hs-identifier hs-type">naturalFromWord2#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-91"></span><span id="naturalFromWord2%23"><span class="annot"><span class="annottext">naturalFromWord2# :: Word# -&gt; Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromWord2%23"><span class="hs-identifier hs-var hs-var">naturalFromWord2#</span></a></span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="GHC.Num.Natural.html#naturalZero"><span class="hs-identifier hs-var">naturalZero</span></a></span><span>
</span><span id="line-92"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalFromWord2%23"><span class="hs-identifier hs-var">naturalFromWord2#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span id="local-6989586621679033609"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033609"><span class="hs-identifier hs-var">l</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033609"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-93"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalFromWord2%23"><span class="hs-identifier hs-var">naturalFromWord2#</span></a></span><span> </span><span id="local-6989586621679033608"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033608"><span class="hs-identifier hs-var">h</span></a></span></span><span>   </span><span id="local-6989586621679033607"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033607"><span class="hs-identifier hs-var">l</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord2%23"><span class="hs-identifier hs-var">bigNatFromWord2#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033608"><span class="hs-identifier hs-var">h</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033607"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-94"></span><span>
</span><span id="line-95"></span><span class="hs-comment">-- | Create a Natural from a Word</span><span>
</span><span id="line-96"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalFromWord"><span class="hs-identifier hs-type">naturalFromWord</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-97"></span><span id="naturalFromWord"><span class="annot"><span class="annottext">naturalFromWord :: Word -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromWord"><span class="hs-identifier hs-var hs-var">naturalFromWord</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679033604"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033604"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033604"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-98"></span><span>
</span><span id="line-99"></span><span class="hs-comment">-- | Create a Natural from a list of Word</span><span>
</span><span id="line-100"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalFromWordList"><span class="hs-identifier hs-type">naturalFromWordList</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-101"></span><span id="naturalFromWordList"><span class="annot"><span class="annottext">naturalFromWordList :: [Word] -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromWordList"><span class="hs-identifier hs-var hs-var">naturalFromWordList</span></a></span></span><span> </span><span id="local-6989586621679033602"><span class="annot"><span class="annottext">[Word]
</span><a href="#local-6989586621679033602"><span class="hs-identifier hs-var">xs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Word] -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWordList"><span class="hs-identifier hs-var">bigNatFromWordList</span></a></span><span> </span><span class="annot"><span class="annottext">[Word]
</span><a href="#local-6989586621679033602"><span class="hs-identifier hs-var">xs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-102"></span><span>
</span><span id="line-103"></span><span class="hs-comment">-- | Convert the lower bits of a Natural into a Word#</span><span>
</span><span id="line-104"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToWord%23"><span class="hs-identifier hs-type">naturalToWord#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-105"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalToWord%23"><span class="hs-pragma hs-type">naturalToWord#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-106"></span><span id="naturalToWord%23"><span class="annot"><span class="annottext">naturalToWord# :: Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalToWord%23"><span class="hs-identifier hs-var hs-var">naturalToWord#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033600"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033600"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033600"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-107"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToWord%23"><span class="hs-identifier hs-var">naturalToWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033599"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033599"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatIndex%23"><span class="hs-identifier hs-var">bigNatIndex#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033599"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-108"></span><span>
</span><span id="line-109"></span><span class="hs-comment">-- | Convert the lower bits of a Natural into a Word</span><span>
</span><span id="line-110"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToWord"><span class="hs-identifier hs-type">naturalToWord</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-111"></span><span id="naturalToWord"><span class="annot"><span class="annottext">naturalToWord :: Natural -&gt; Word
</span><a href="GHC.Num.Natural.html#naturalToWord"><span class="hs-identifier hs-var hs-var">naturalToWord</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033597"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033597"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalToWord%23"><span class="hs-identifier hs-var">naturalToWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033597"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-112"></span><span>
</span><span id="line-113"></span><span class="hs-comment">-- | Convert a Natural into a Word# clamping to (maxBound :: Word#).</span><span>
</span><span id="line-114"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToWordClamp%23"><span class="hs-identifier hs-type">naturalToWordClamp#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-115"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalToWordClamp"><span class="hs-pragma hs-type">naturalToWordClamp</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-116"></span><span id="naturalToWordClamp%23"><span class="annot"><span class="annottext">naturalToWordClamp# :: Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalToWordClamp%23"><span class="hs-identifier hs-var hs-var">naturalToWordClamp#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033595"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033595"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033595"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-117"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToWordClamp%23"><span class="hs-identifier hs-var">naturalToWordClamp#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">WORD_MAXBOUND##</span><span>
</span><span id="line-118"></span><span>
</span><span id="line-119"></span><span class="hs-comment">-- | Convert a Natural into a Word# clamping to (maxBound :: Word).</span><span>
</span><span id="line-120"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToWordClamp"><span class="hs-identifier hs-type">naturalToWordClamp</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-121"></span><span id="naturalToWordClamp"><span class="annot"><span class="annottext">naturalToWordClamp :: Natural -&gt; Word
</span><a href="GHC.Num.Natural.html#naturalToWordClamp"><span class="hs-identifier hs-var hs-var">naturalToWordClamp</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033594"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033594"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalToWordClamp%23"><span class="hs-identifier hs-var">naturalToWordClamp#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033594"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-122"></span><span>
</span><span id="line-123"></span><span class="hs-comment">-- | Try downcasting 'Natural' to 'Word' value.</span><span>
</span><span id="line-124"></span><span class="hs-comment">-- Returns '(##)' if value doesn't fit in 'Word'.</span><span>
</span><span id="line-125"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToWordMaybe%23"><span class="hs-identifier hs-type">naturalToWordMaybe#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-126"></span><span id="naturalToWordMaybe%23"><span class="annot"><span class="annottext">naturalToWordMaybe# :: Natural -&gt; (# (# #) | Word# #)
</span><a href="GHC.Num.Natural.html#naturalToWordMaybe%23"><span class="hs-identifier hs-var hs-var">naturalToWordMaybe#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033592"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033592"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span>       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033592"><span class="hs-identifier hs-var">w</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-127"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToWordMaybe%23"><span class="hs-identifier hs-var">naturalToWordMaybe#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">|</span><span>   </span><span class="hs-special">#)</span><span>
</span><span id="line-128"></span><span>
</span><span id="line-129"></span><span class="hs-comment">-- | Encode (# Natural mantissa, Int# exponent #) into a Double#</span><span>
</span><span id="line-130"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalEncodeDouble%23"><span class="hs-identifier hs-type">naturalEncodeDouble#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Double%23"><span class="hs-identifier hs-type">Double#</span></a></span><span>
</span><span id="line-131"></span><span id="naturalEncodeDouble%23"><span class="annot"><span class="annottext">naturalEncodeDouble# :: Natural -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.Natural.html#naturalEncodeDouble%23"><span class="hs-identifier hs-var hs-var">naturalEncodeDouble#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033590"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033590"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Double#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Double%23"><span class="hs-identifier hs-var">word2Double#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033590"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-132"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalEncodeDouble%23"><span class="hs-identifier hs-var">naturalEncodeDouble#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033589"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033589"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679033588"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033588"><span class="hs-identifier hs-var">e</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.Primitives.html#wordEncodeDouble%23"><span class="hs-identifier hs-var">wordEncodeDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033589"><span class="hs-identifier hs-var">w</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033588"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-133"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalEncodeDouble%23"><span class="hs-identifier hs-var">naturalEncodeDouble#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033586"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033586"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679033585"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033585"><span class="hs-identifier hs-var">e</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.BigNat.html#bigNatEncodeDouble%23"><span class="hs-identifier hs-var">bigNatEncodeDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033586"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033585"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-134"></span><span>
</span><span id="line-135"></span><span class="hs-comment">-- | Encode a Natural (mantissa) into a Double#</span><span>
</span><span id="line-136"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToDouble%23"><span class="hs-identifier hs-type">naturalToDouble#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Double%23"><span class="hs-identifier hs-type">Double#</span></a></span><span>
</span><span id="line-137"></span><span id="naturalToDouble%23"><span class="annot"><span class="annottext">naturalToDouble# :: Natural -&gt; Double#
</span><a href="GHC.Num.Natural.html#naturalToDouble%23"><span class="hs-identifier hs-var hs-var">naturalToDouble#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033582"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033582"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.Natural.html#naturalEncodeDouble%23"><span class="hs-identifier hs-var">naturalEncodeDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033582"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-138"></span><span>
</span><span id="line-139"></span><span class="hs-comment">-- | Encode a Natural (mantissa) into a Float#</span><span>
</span><span id="line-140"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToFloat%23"><span class="hs-identifier hs-type">naturalToFloat#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Float%23"><span class="hs-identifier hs-type">Float#</span></a></span><span>
</span><span id="line-141"></span><span id="naturalToFloat%23"><span class="annot"><span class="annottext">naturalToFloat# :: Natural -&gt; Float#
</span><a href="GHC.Num.Natural.html#naturalToFloat%23"><span class="hs-identifier hs-var hs-var">naturalToFloat#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033580"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033580"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Bool# -&gt; Float#
</span><a href="GHC.Num.Natural.html#naturalEncodeFloat%23"><span class="hs-identifier hs-var">naturalEncodeFloat#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033580"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-142"></span><span>
</span><span id="line-143"></span><span class="hs-comment">-- | Encode (# Natural mantissa, Int# exponent #) into a Float#</span><span>
</span><span id="line-144"></span><span class="hs-comment">--</span><span>
</span><span id="line-145"></span><span class="hs-comment">-- TODO: Not sure if it's worth to write 'Float' optimized versions here</span><span>
</span><span id="line-146"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalEncodeFloat%23"><span class="hs-identifier hs-type">naturalEncodeFloat#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Float%23"><span class="hs-identifier hs-type">Float#</span></a></span><span>
</span><span id="line-147"></span><span id="naturalEncodeFloat%23"><span class="annot"><span class="annottext">naturalEncodeFloat# :: Natural -&gt; Bool# -&gt; Float#
</span><a href="GHC.Num.Natural.html#naturalEncodeFloat%23"><span class="hs-identifier hs-var hs-var">naturalEncodeFloat#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033578"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033578"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Double# -&gt; Float#
</span><a href="../../ghc-prim/src/GHC.Prim.html#double2Float%23"><span class="hs-identifier hs-var">double2Float#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Double#
</span><a href="GHC.Num.Natural.html#naturalToDouble%23"><span class="hs-identifier hs-var">naturalToDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033578"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-148"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalEncodeFloat%23"><span class="hs-identifier hs-var">naturalEncodeFloat#</span></a></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033577"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033577"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621679033576"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033576"><span class="hs-identifier hs-var">e</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Double# -&gt; Float#
</span><a href="../../ghc-prim/src/GHC.Prim.html#double2Float%23"><span class="hs-identifier hs-var">double2Float#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.Natural.html#naturalEncodeDouble%23"><span class="hs-identifier hs-var">naturalEncodeDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033577"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033576"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-149"></span><span>
</span><span id="line-150"></span><span class="hs-comment">-- | Equality test for Natural</span><span>
</span><span id="line-151"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalEq%23"><span class="hs-identifier hs-type">naturalEq#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-152"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalEq%23"><span class="hs-pragma hs-type">naturalEq#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-153"></span><span id="naturalEq%23"><span class="annot"><span class="annottext">naturalEq# :: Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalEq%23"><span class="hs-identifier hs-var hs-var">naturalEq#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033575"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033575"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033574"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033574"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033575"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#eqWord%23"><span class="hs-operator hs-var">`eqWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033574"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-154"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalEq%23"><span class="hs-identifier hs-var">naturalEq#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033573"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033573"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033572"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033572"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatEq%23"><span class="hs-identifier hs-var">bigNatEq#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033573"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033572"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-155"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalEq%23"><span class="hs-identifier hs-var">naturalEq#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>      </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-156"></span><span>
</span><span id="line-157"></span><span class="hs-comment">-- | Equality test for Natural</span><span>
</span><span id="line-158"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalEq"><span class="hs-identifier hs-type">naturalEq</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-159"></span><span id="naturalEq"><span class="annot"><span class="annottext">naturalEq :: Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalEq"><span class="hs-identifier hs-var hs-var">naturalEq</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033570"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033570"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033569"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033569"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalEq%23"><span class="hs-identifier hs-var">naturalEq#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033570"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033569"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-160"></span><span>
</span><span id="line-161"></span><span class="hs-comment">-- | Inequality test for Natural</span><span>
</span><span id="line-162"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalNe%23"><span class="hs-identifier hs-type">naturalNe#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-163"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalNe%23"><span class="hs-pragma hs-type">naturalNe#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-164"></span><span id="naturalNe%23"><span class="annot"><span class="annottext">naturalNe# :: Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalNe%23"><span class="hs-identifier hs-var hs-var">naturalNe#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033568"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033568"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033567"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033567"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033568"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#neWord%23"><span class="hs-operator hs-var">`neWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033567"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-165"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalNe%23"><span class="hs-identifier hs-var">naturalNe#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033566"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033566"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033565"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033565"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatNe%23"><span class="hs-identifier hs-var">bigNatNe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033566"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033565"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-166"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalNe%23"><span class="hs-identifier hs-var">naturalNe#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>      </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-167"></span><span>
</span><span id="line-168"></span><span class="hs-comment">-- | Inequality test for Natural</span><span>
</span><span id="line-169"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalNe"><span class="hs-identifier hs-type">naturalNe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-170"></span><span id="naturalNe"><span class="annot"><span class="annottext">naturalNe :: Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalNe"><span class="hs-identifier hs-var hs-var">naturalNe</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033563"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033563"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033562"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033562"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalNe%23"><span class="hs-identifier hs-var">naturalNe#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033563"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033562"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-171"></span><span>
</span><span id="line-172"></span><span class="hs-comment">-- | Greater or equal test for Natural</span><span>
</span><span id="line-173"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGe%23"><span class="hs-identifier hs-type">naturalGe#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-174"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalGe%23"><span class="hs-pragma hs-type">naturalGe#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-175"></span><span id="naturalGe%23"><span class="annot"><span class="annottext">naturalGe# :: Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalGe%23"><span class="hs-identifier hs-var hs-var">naturalGe#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033561"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033561"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033560"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033560"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033561"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#geWord%23"><span class="hs-operator hs-var">`geWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033560"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-176"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGe%23"><span class="hs-identifier hs-var">naturalGe#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-177"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGe%23"><span class="hs-identifier hs-var">naturalGe#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-178"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGe%23"><span class="hs-identifier hs-var">naturalGe#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033559"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033559"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033558"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033558"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatGe%23"><span class="hs-identifier hs-var">bigNatGe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033559"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033558"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-179"></span><span>
</span><span id="line-180"></span><span class="hs-comment">-- | Greater or equal test for Natural</span><span>
</span><span id="line-181"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGe"><span class="hs-identifier hs-type">naturalGe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-182"></span><span id="naturalGe"><span class="annot"><span class="annottext">naturalGe :: Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalGe"><span class="hs-identifier hs-var hs-var">naturalGe</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033556"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033556"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033555"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033555"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalGe%23"><span class="hs-identifier hs-var">naturalGe#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033556"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033555"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-183"></span><span>
</span><span id="line-184"></span><span class="hs-comment">-- | Lower or equal test for Natural</span><span>
</span><span id="line-185"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLe%23"><span class="hs-identifier hs-type">naturalLe#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-186"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalLe%23"><span class="hs-pragma hs-type">naturalLe#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-187"></span><span id="naturalLe%23"><span class="annot"><span class="annottext">naturalLe# :: Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalLe%23"><span class="hs-identifier hs-var hs-var">naturalLe#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033554"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033554"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033553"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033553"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033554"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#leWord%23"><span class="hs-operator hs-var">`leWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033553"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-188"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLe%23"><span class="hs-identifier hs-var">naturalLe#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-189"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLe%23"><span class="hs-identifier hs-var">naturalLe#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-190"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLe%23"><span class="hs-identifier hs-var">naturalLe#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033552"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033552"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033551"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033551"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatLe%23"><span class="hs-identifier hs-var">bigNatLe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033552"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033551"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-191"></span><span>
</span><span id="line-192"></span><span class="hs-comment">-- | Lower or equal test for Natural</span><span>
</span><span id="line-193"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLe"><span class="hs-identifier hs-type">naturalLe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-194"></span><span id="naturalLe"><span class="annot"><span class="annottext">naturalLe :: Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalLe"><span class="hs-identifier hs-var hs-var">naturalLe</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033549"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033549"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033548"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033548"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalLe%23"><span class="hs-identifier hs-var">naturalLe#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033549"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033548"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-195"></span><span>
</span><span id="line-196"></span><span>
</span><span id="line-197"></span><span class="hs-comment">-- | Greater test for Natural</span><span>
</span><span id="line-198"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGt%23"><span class="hs-identifier hs-type">naturalGt#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-199"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalGt%23"><span class="hs-pragma hs-type">naturalGt#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-200"></span><span id="naturalGt%23"><span class="annot"><span class="annottext">naturalGt# :: Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalGt%23"><span class="hs-identifier hs-var hs-var">naturalGt#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033547"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033547"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033546"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033546"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033547"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033546"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-201"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGt%23"><span class="hs-identifier hs-var">naturalGt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-202"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGt%23"><span class="hs-identifier hs-var">naturalGt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-203"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGt%23"><span class="hs-identifier hs-var">naturalGt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033545"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033545"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033544"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033544"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatGt%23"><span class="hs-identifier hs-var">bigNatGt#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033545"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033544"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-204"></span><span>
</span><span id="line-205"></span><span class="hs-comment">-- | Greater test for Natural</span><span>
</span><span id="line-206"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGt"><span class="hs-identifier hs-type">naturalGt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-207"></span><span id="naturalGt"><span class="annot"><span class="annottext">naturalGt :: Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalGt"><span class="hs-identifier hs-var hs-var">naturalGt</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033542"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033542"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033541"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033541"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalGt%23"><span class="hs-identifier hs-var">naturalGt#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033542"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033541"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-208"></span><span>
</span><span id="line-209"></span><span class="hs-comment">-- | Lower test for Natural</span><span>
</span><span id="line-210"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLt%23"><span class="hs-identifier hs-type">naturalLt#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-211"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalLt%23"><span class="hs-pragma hs-type">naturalLt#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-212"></span><span id="naturalLt%23"><span class="annot"><span class="annottext">naturalLt# :: Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalLt%23"><span class="hs-identifier hs-var hs-var">naturalLt#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033540"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033540"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033539"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033539"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033540"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ltWord%23"><span class="hs-operator hs-var">`ltWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033539"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-213"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLt%23"><span class="hs-identifier hs-var">naturalLt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-214"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLt%23"><span class="hs-identifier hs-var">naturalLt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-215"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLt%23"><span class="hs-identifier hs-var">naturalLt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033538"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033538"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033537"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033537"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatLt%23"><span class="hs-identifier hs-var">bigNatLt#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033538"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033537"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-216"></span><span>
</span><span id="line-217"></span><span class="hs-comment">-- | Lower test for Natural</span><span>
</span><span id="line-218"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLt"><span class="hs-identifier hs-type">naturalLt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-219"></span><span id="naturalLt"><span class="annot"><span class="annottext">naturalLt :: Natural -&gt; Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalLt"><span class="hs-identifier hs-var hs-var">naturalLt</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033535"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033535"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033534"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033534"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalLt%23"><span class="hs-identifier hs-var">naturalLt#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033535"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033534"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-220"></span><span>
</span><span id="line-221"></span><span class="hs-comment">-- | Compare two Natural</span><span>
</span><span id="line-222"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalCompare"><span class="hs-identifier hs-type">naturalCompare</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Ordering"><span class="hs-identifier hs-type">Ordering</span></a></span><span>
</span><span id="line-223"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalCompare"><span class="hs-pragma hs-type">naturalCompare</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-224"></span><span id="naturalCompare"><span class="annot"><span class="annottext">naturalCompare :: Natural -&gt; Natural -&gt; Ordering
</span><a href="GHC.Num.Natural.html#naturalCompare"><span class="hs-identifier hs-var hs-var">naturalCompare</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033533"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033533"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033532"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033532"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Ordering
</span><a href="GHC.Num.Primitives.html#cmpW%23"><span class="hs-identifier hs-var">cmpW#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033533"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033532"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-225"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalCompare"><span class="hs-identifier hs-var">naturalCompare</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033530"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033530"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033529"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033529"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Ordering
</span><a href="GHC.Num.BigNat.html#bigNatCompare"><span class="hs-identifier hs-var">bigNatCompare</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033530"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033529"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-226"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalCompare"><span class="hs-identifier hs-var">naturalCompare</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span>
</span><span id="line-227"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalCompare"><span class="hs-identifier hs-var">naturalCompare</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span>
</span><span id="line-228"></span><span>
</span><span id="line-229"></span><span class="hs-comment">-- | PopCount for Natural</span><span>
</span><span id="line-230"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPopCount%23"><span class="hs-identifier hs-type">naturalPopCount#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-231"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalPopCount%23"><span class="hs-pragma hs-type">naturalPopCount#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-232"></span><span id="naturalPopCount%23"><span class="annot"><span class="annottext">naturalPopCount# :: Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalPopCount%23"><span class="hs-identifier hs-var hs-var">naturalPopCount#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033527"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033527"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#popCnt%23"><span class="hs-identifier hs-var">popCnt#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033527"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-233"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPopCount%23"><span class="hs-identifier hs-var">naturalPopCount#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033526"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033526"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatPopCount%23"><span class="hs-identifier hs-var">bigNatPopCount#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033526"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-234"></span><span>
</span><span id="line-235"></span><span class="hs-comment">-- | PopCount for Natural</span><span>
</span><span id="line-236"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPopCount"><span class="hs-identifier hs-type">naturalPopCount</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-237"></span><span id="naturalPopCount"><span class="annot"><span class="annottext">naturalPopCount :: Natural -&gt; Word
</span><a href="GHC.Num.Natural.html#naturalPopCount"><span class="hs-identifier hs-var hs-var">naturalPopCount</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033523"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033523"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#popCnt%23"><span class="hs-identifier hs-var">popCnt#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033523"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-238"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPopCount"><span class="hs-identifier hs-var">naturalPopCount</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033522"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033522"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word
</span><a href="GHC.Num.BigNat.html#bigNatPopCount"><span class="hs-identifier hs-var">bigNatPopCount</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033522"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-239"></span><span>
</span><span id="line-240"></span><span class="hs-comment">-- | Right shift for Natural</span><span>
</span><span id="line-241"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalShiftR%23"><span class="hs-identifier hs-type">naturalShiftR#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-242"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalShiftR%23"><span class="hs-pragma hs-type">naturalShiftR#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-243"></span><span id="naturalShiftR%23"><span class="annot"><span class="annottext">naturalShiftR# :: Natural -&gt; Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalShiftR%23"><span class="hs-identifier hs-var hs-var">naturalShiftR#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033520"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033520"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679033519"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033519"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033520"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.Primitives.html#shiftRW%23"><span class="hs-operator hs-var">`shiftRW#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033519"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-244"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalShiftR%23"><span class="hs-identifier hs-var">naturalShiftR#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033517"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033517"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679033516"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033516"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033517"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatShiftR%23"><span class="hs-operator hs-var">`bigNatShiftR#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033516"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-245"></span><span>
</span><span id="line-246"></span><span class="hs-comment">-- | Right shift for Natural</span><span>
</span><span id="line-247"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalShiftR"><span class="hs-identifier hs-type">naturalShiftR</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-248"></span><span id="naturalShiftR"><span class="annot"><span class="annottext">naturalShiftR :: Natural -&gt; Word -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalShiftR"><span class="hs-identifier hs-var hs-var">naturalShiftR</span></a></span></span><span> </span><span id="local-6989586621679033513"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033513"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679033512"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033512"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalShiftR%23"><span class="hs-identifier hs-var">naturalShiftR#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033513"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033512"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-249"></span><span>
</span><span id="line-250"></span><span class="hs-comment">-- | Left shift</span><span>
</span><span id="line-251"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalShiftL%23"><span class="hs-identifier hs-type">naturalShiftL#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-252"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalShiftL%23"><span class="hs-pragma hs-type">naturalShiftL#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-253"></span><span id="naturalShiftL%23"><span class="annot"><span class="annottext">naturalShiftL# :: Natural -&gt; Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalShiftL%23"><span class="hs-identifier hs-var hs-var">naturalShiftL#</span></a></span></span><span> </span><span id="local-6989586621679033511"><span class="annot"><span class="annottext">v :: Natural
</span><a href="#local-6989586621679033511"><span class="hs-identifier hs-var">v</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033510"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033510"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679033509"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033509"><span class="hs-identifier hs-var">n</span></a></span></span><span>
</span><span id="line-254"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033510"><span class="hs-identifier hs-var">x</span></a></span><span>                     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033511"><span class="hs-identifier hs-var">v</span></a></span><span>
</span><span id="line-255"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#clz%23"><span class="hs-identifier hs-var">clz#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033510"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#geWord%23"><span class="hs-operator hs-var">`geWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033509"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033510"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#uncheckedShiftL%23"><span class="hs-operator hs-var">`uncheckedShiftL#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033509"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-256"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033510"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatShiftL%23"><span class="hs-operator hs-var">`bigNatShiftL#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033509"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-257"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalShiftL%23"><span class="hs-identifier hs-var">naturalShiftL#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033507"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033507"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679033506"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033506"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033507"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatShiftL%23"><span class="hs-operator hs-var">`bigNatShiftL#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033506"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-258"></span><span>
</span><span id="line-259"></span><span class="hs-comment">-- | Left shift</span><span>
</span><span id="line-260"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalShiftL"><span class="hs-identifier hs-type">naturalShiftL</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-261"></span><span id="naturalShiftL"><span class="annot"><span class="annottext">naturalShiftL :: Natural -&gt; Word -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalShiftL"><span class="hs-identifier hs-var hs-var">naturalShiftL</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033504"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033504"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679033503"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033503"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalShiftL%23"><span class="hs-identifier hs-var">naturalShiftL#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033504"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033503"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-262"></span><span>
</span><span id="line-263"></span><span class="hs-comment">-- | Add two naturals</span><span>
</span><span id="line-264"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAdd"><span class="hs-identifier hs-type">naturalAdd</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-265"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalAdd"><span class="hs-pragma hs-type">naturalAdd</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-266"></span><span id="naturalAdd"><span class="annot"><span class="annottext">naturalAdd :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalAdd"><span class="hs-identifier hs-var hs-var">naturalAdd</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033502"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033502"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033501"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033501"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033501"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033502"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-267"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAdd"><span class="hs-identifier hs-var">naturalAdd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033499"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033499"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033498"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033498"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033499"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033498"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-268"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAdd"><span class="hs-identifier hs-var">naturalAdd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033497"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033497"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033496"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033496"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAdd"><span class="hs-identifier hs-var">bigNatAdd</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033497"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033496"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-269"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAdd"><span class="hs-identifier hs-var">naturalAdd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033494"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033494"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033493"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033493"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-270"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; (# Word#, Bool# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#addWordC%23"><span class="hs-identifier hs-var">addWordC#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033494"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033493"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-271"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033492"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033492"><span class="hs-identifier hs-var">l</span></a></span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033492"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-272"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033491"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033491"><span class="hs-identifier hs-var">l</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679033490"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033490"><span class="hs-identifier hs-var">c</span></a></span></span><span>  </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord2%23"><span class="hs-identifier hs-var">bigNatFromWord2#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033490"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033491"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-273"></span><span>
</span><span id="line-274"></span><span class="hs-comment">-- | Sub two naturals</span><span>
</span><span id="line-275"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSub"><span class="hs-identifier hs-type">naturalSub</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Void%23"><span class="hs-identifier hs-type">Void#</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-276"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalSub"><span class="hs-pragma hs-type">naturalSub</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-277"></span><span id="naturalSub"><span class="annot"><span class="annottext">naturalSub :: Natural -&gt; Natural -&gt; (# Void# | Natural #)
</span><a href="GHC.Num.Natural.html#naturalSub"><span class="hs-identifier hs-var hs-var">naturalSub</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Void#
</span><a href="../../ghc-prim/src/GHC.Prim.html#void%23"><span class="hs-identifier hs-var">void#</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-278"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSub"><span class="hs-identifier hs-var">naturalSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033489"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033489"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033488"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033488"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033489"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033488"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-279"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSub"><span class="hs-identifier hs-var">naturalSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033486"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033486"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033485"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033485"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-280"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; (# Word#, Bool# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#subWordC%23"><span class="hs-identifier hs-var">subWordC#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033486"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033485"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-281"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033484"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033484"><span class="hs-identifier hs-var">l</span></a></span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span>       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033484"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-282"></span><span>      </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Void#
</span><a href="../../ghc-prim/src/GHC.Prim.html#void%23"><span class="hs-identifier hs-var">void#</span></a></span><span> </span><span class="hs-glyph">|</span><span>      </span><span class="hs-special">#)</span><span>
</span><span id="line-283"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSub"><span class="hs-identifier hs-var">naturalSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033483"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033483"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033482"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033482"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-284"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; (# (# #) | ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatSub"><span class="hs-identifier hs-var">bigNatSub</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033483"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033482"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-285"></span><span>      </span><span class="hs-special">(#</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">|</span><span>    </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Void#
</span><a href="../../ghc-prim/src/GHC.Prim.html#void%23"><span class="hs-identifier hs-var">void#</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-286"></span><span>      </span><span class="hs-special">(#</span><span>       </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679033480"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033480"><span class="hs-identifier hs-var">z</span></a></span></span><span>  </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span>       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033480"><span class="hs-identifier hs-var">z</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-287"></span><span>
</span><span id="line-288"></span><span class="hs-comment">-- | Sub two naturals</span><span>
</span><span id="line-289"></span><span class="hs-comment">--</span><span>
</span><span id="line-290"></span><span class="hs-comment">-- Throw an Underflow exception if x &lt; y</span><span>
</span><span id="line-291"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSubThrow"><span class="hs-identifier hs-type">naturalSubThrow</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-292"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalSubThrow"><span class="hs-pragma hs-type">naturalSubThrow</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-293"></span><span id="naturalSubThrow"><span class="annot"><span class="annottext">naturalSubThrow :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalSubThrow"><span class="hs-identifier hs-var hs-var">naturalSubThrow</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
forall a. a
</span><a href="../../ghc-prim/src/GHC.Prim.Exception.html#raiseUnderflow"><span class="hs-identifier hs-var">raiseUnderflow</span></a></span><span>
</span><span id="line-294"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSubThrow"><span class="hs-identifier hs-var">naturalSubThrow</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033479"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033479"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033478"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033478"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033479"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033478"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-295"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSubThrow"><span class="hs-identifier hs-var">naturalSubThrow</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033477"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033477"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033476"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033476"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-296"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; (# Word#, Bool# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#subWordC%23"><span class="hs-identifier hs-var">subWordC#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033477"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033476"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-297"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033475"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033475"><span class="hs-identifier hs-var">l</span></a></span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033475"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-298"></span><span>      </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Natural
forall a. a
</span><a href="../../ghc-prim/src/GHC.Prim.Exception.html#raiseUnderflow"><span class="hs-identifier hs-var">raiseUnderflow</span></a></span><span>
</span><span id="line-299"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSubThrow"><span class="hs-identifier hs-var">naturalSubThrow</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033474"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033474"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033473"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033473"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-300"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; (# (# #) | ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatSub"><span class="hs-identifier hs-var">bigNatSub</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033474"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033473"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-301"></span><span>      </span><span class="hs-special">(#</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">|</span><span>   </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Natural
forall a. a
</span><a href="../../ghc-prim/src/GHC.Prim.Exception.html#raiseUnderflow"><span class="hs-identifier hs-var">raiseUnderflow</span></a></span><span>
</span><span id="line-302"></span><span>      </span><span class="hs-special">(#</span><span>       </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679033472"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033472"><span class="hs-identifier hs-var">z</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033472"><span class="hs-identifier hs-var">z</span></a></span><span>
</span><span id="line-303"></span><span>
</span><span id="line-304"></span><span class="hs-comment">-- | Sub two naturals</span><span>
</span><span id="line-305"></span><span class="hs-comment">--</span><span>
</span><span id="line-306"></span><span class="hs-comment">-- Unsafe: don't check that x &gt;= y</span><span>
</span><span id="line-307"></span><span class="hs-comment">-- Undefined results if it happens</span><span>
</span><span id="line-308"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSubUnsafe"><span class="hs-identifier hs-type">naturalSubUnsafe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-309"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalSubUnsafe"><span class="hs-pragma hs-type">naturalSubUnsafe</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-310"></span><span id="naturalSubUnsafe"><span class="annot"><span class="annottext">naturalSubUnsafe :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalSubUnsafe"><span class="hs-identifier hs-var hs-var">naturalSubUnsafe</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033471"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033471"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033470"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033470"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-identifier hs-var">minusWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033471"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033470"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-311"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSubUnsafe"><span class="hs-identifier hs-var">naturalSubUnsafe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="GHC.Num.Natural.html#naturalZero"><span class="hs-identifier hs-var">naturalZero</span></a></span><span>
</span><span id="line-312"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSubUnsafe"><span class="hs-identifier hs-var">naturalSubUnsafe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033469"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033469"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033468"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033468"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033469"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033468"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-313"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSubUnsafe"><span class="hs-identifier hs-var">naturalSubUnsafe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033467"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033467"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033466"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033466"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-314"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; (# (# #) | ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatSub"><span class="hs-identifier hs-var">bigNatSub</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033467"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033466"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-315"></span><span>      </span><span class="hs-special">(#</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">|</span><span>   </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="GHC.Num.Natural.html#naturalZero"><span class="hs-identifier hs-var">naturalZero</span></a></span><span>
</span><span id="line-316"></span><span>      </span><span class="hs-special">(#</span><span>       </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679033465"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033465"><span class="hs-identifier hs-var">z</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033465"><span class="hs-identifier hs-var">z</span></a></span><span>
</span><span id="line-317"></span><span>
</span><span id="line-318"></span><span class="hs-comment">-- | Multiplication</span><span>
</span><span id="line-319"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalMul"><span class="hs-identifier hs-type">naturalMul</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-320"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalMul"><span class="hs-pragma hs-type">naturalMul</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-321"></span><span id="naturalMul"><span class="annot"><span class="annottext">naturalMul :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalMul"><span class="hs-identifier hs-var hs-var">naturalMul</span></a></span></span><span> </span><span id="local-6989586621679033464"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033464"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621679033463"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033463"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033464"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-322"></span><span>   </span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-323"></span><span>   </span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033463"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-324"></span><span>   </span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033462"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033462"><span class="hs-identifier hs-var">x</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033463"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-325"></span><span>               </span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-326"></span><span>               </span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033464"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-327"></span><span>               </span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033461"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033461"><span class="hs-identifier hs-var">y</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; (# Word#, Word# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#timesWord2%23"><span class="hs-identifier hs-var">timesWord2#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033462"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033461"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-328"></span><span>                           </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033460"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033460"><span class="hs-identifier hs-var">h</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679033459"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033459"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromWord2%23"><span class="hs-identifier hs-var">naturalFromWord2#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033460"><span class="hs-identifier hs-var">h</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033459"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-329"></span><span>               </span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033458"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033458"><span class="hs-identifier hs-var">y</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatMulWord%23"><span class="hs-identifier hs-var">bigNatMulWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033458"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033462"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-330"></span><span>   </span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033456"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033456"><span class="hs-identifier hs-var">x</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033463"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-331"></span><span>               </span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-332"></span><span>               </span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033464"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-333"></span><span>               </span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033455"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033455"><span class="hs-identifier hs-var">y</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatMulWord%23"><span class="hs-identifier hs-var">bigNatMulWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033456"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033455"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-334"></span><span>               </span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033454"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033454"><span class="hs-identifier hs-var">y</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatMul"><span class="hs-identifier hs-var">bigNatMul</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033456"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033454"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-335"></span><span>
</span><span id="line-336"></span><span class="hs-comment">-- | Square a Natural</span><span>
</span><span id="line-337"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSqr"><span class="hs-identifier hs-type">naturalSqr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-338"></span><span id="naturalSqr"><span class="annot"><span class="annottext">naturalSqr :: Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalSqr"><span class="hs-identifier hs-var hs-var">naturalSqr</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033451"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033451"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalMul"><span class="hs-identifier hs-var">naturalMul</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033451"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033451"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-339"></span><span>
</span><span id="line-340"></span><span class="hs-comment">-- | Signum for Natural</span><span>
</span><span id="line-341"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSignum"><span class="hs-identifier hs-type">naturalSignum</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-342"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalSignum"><span class="hs-pragma hs-type">naturalSignum</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-343"></span><span id="naturalSignum"><span class="annot"><span class="annottext">naturalSignum :: Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalSignum"><span class="hs-identifier hs-var hs-var">naturalSignum</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-344"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSignum"><span class="hs-identifier hs-var">naturalSignum</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span>
</span><span id="line-345"></span><span>
</span><span id="line-346"></span><span class="hs-comment">-- | Negate for Natural</span><span>
</span><span id="line-347"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalNegate"><span class="hs-identifier hs-type">naturalNegate</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-348"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalNegate"><span class="hs-pragma hs-type">naturalNegate</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-349"></span><span id="naturalNegate"><span class="annot"><span class="annottext">naturalNegate :: Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalNegate"><span class="hs-identifier hs-var hs-var">naturalNegate</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-350"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalNegate"><span class="hs-identifier hs-var">naturalNegate</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
forall a. a
</span><a href="../../ghc-prim/src/GHC.Prim.Exception.html#raiseUnderflow"><span class="hs-identifier hs-var">raiseUnderflow</span></a></span><span>
</span><span id="line-351"></span><span>
</span><span id="line-352"></span><span class="hs-comment">-- | Return division quotient and remainder</span><span>
</span><span id="line-353"></span><span class="hs-comment">--</span><span>
</span><span id="line-354"></span><span class="hs-comment">-- Division by zero is handled by BigNat</span><span>
</span><span id="line-355"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalQuotRem%23"><span class="hs-identifier hs-type">naturalQuotRem#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-356"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalQuotRem%23"><span class="hs-pragma hs-type">naturalQuotRem#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-357"></span><span id="naturalQuotRem%23"><span class="annot"><span class="annottext">naturalQuotRem# :: Natural -&gt; Natural -&gt; (# Natural, Natural #)
</span><a href="GHC.Num.Natural.html#naturalQuotRem%23"><span class="hs-identifier hs-var hs-var">naturalQuotRem#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033450"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033450"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033449"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033449"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; (# Word#, Word# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#quotRemWord%23"><span class="hs-identifier hs-var">quotRemWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033450"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033449"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-358"></span><span>                                 </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033448"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033448"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679033447"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033447"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033448"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033447"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-359"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalQuotRem%23"><span class="hs-identifier hs-var">naturalQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033446"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033446"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033445"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033445"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; (# ByteArray#, Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatQuotRemWord%23"><span class="hs-identifier hs-var">bigNatQuotRemWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033446"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033445"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-360"></span><span>                                 </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033443"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033443"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679033442"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033442"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033443"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033442"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-361"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalQuotRem%23"><span class="hs-identifier hs-var">naturalQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033441"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033441"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033440"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033440"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; (# ByteArray#, ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatQuotRem%23"><span class="hs-identifier hs-var">bigNatQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033441"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033440"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-362"></span><span>                                 </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033438"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033438"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679033437"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033437"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033438"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033437"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-363"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalQuotRem%23"><span class="hs-identifier hs-var">naturalQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033436"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033436"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033435"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033435"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; (# ByteArray#, ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatQuotRem%23"><span class="hs-identifier hs-var">bigNatQuotRem#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033436"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033435"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-364"></span><span>                                 </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033434"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033434"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679033433"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033433"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033434"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033433"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-365"></span><span>
</span><span id="line-366"></span><span class="hs-comment">-- | Return division quotient and remainder</span><span>
</span><span id="line-367"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalQuotRem"><span class="hs-identifier hs-type">naturalQuotRem</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-368"></span><span id="naturalQuotRem"><span class="annot"><span class="annottext">naturalQuotRem :: Natural -&gt; Natural -&gt; (Natural, Natural)
</span><a href="GHC.Num.Natural.html#naturalQuotRem"><span class="hs-identifier hs-var hs-var">naturalQuotRem</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033431"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033431"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033430"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033430"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; (# Natural, Natural #)
</span><a href="GHC.Num.Natural.html#naturalQuotRem%23"><span class="hs-identifier hs-var">naturalQuotRem#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033431"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033430"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-369"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033429"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033429"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679033428"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033428"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033429"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033428"><span class="hs-identifier hs-var">r</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-370"></span><span>
</span><span id="line-371"></span><span class="hs-comment">-- | Return division quotient</span><span>
</span><span id="line-372"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalQuot"><span class="hs-identifier hs-type">naturalQuot</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-373"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalQuot"><span class="hs-pragma hs-type">naturalQuot</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-374"></span><span id="naturalQuot"><span class="annot"><span class="annottext">naturalQuot :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalQuot"><span class="hs-identifier hs-var hs-var">naturalQuot</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033427"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033427"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033426"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033426"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#quotWord%23"><span class="hs-identifier hs-var">quotWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033427"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033426"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-375"></span><span>                             </span><span id="local-6989586621679033425"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033425"><span class="hs-identifier hs-var">q</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033425"><span class="hs-identifier hs-var">q</span></a></span><span>
</span><span id="line-376"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalQuot"><span class="hs-identifier hs-var">naturalQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033424"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033424"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033423"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033423"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatQuotWord%23"><span class="hs-identifier hs-var">bigNatQuotWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033424"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033423"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-377"></span><span>                             </span><span id="local-6989586621679033421"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033421"><span class="hs-identifier hs-var">q</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033421"><span class="hs-identifier hs-var">q</span></a></span><span>
</span><span id="line-378"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalQuot"><span class="hs-identifier hs-var">naturalQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033420"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033420"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033419"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033419"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatQuot"><span class="hs-identifier hs-var">bigNatQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033420"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033419"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-379"></span><span>                             </span><span id="local-6989586621679033417"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033417"><span class="hs-identifier hs-var">q</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033417"><span class="hs-identifier hs-var">q</span></a></span><span>
</span><span id="line-380"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalQuot"><span class="hs-identifier hs-var">naturalQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033416"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033416"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033415"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033415"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatQuot"><span class="hs-identifier hs-var">bigNatQuot</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033416"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033415"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-381"></span><span>                             </span><span id="local-6989586621679033414"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033414"><span class="hs-identifier hs-var">q</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033414"><span class="hs-identifier hs-var">q</span></a></span><span>
</span><span id="line-382"></span><span>
</span><span id="line-383"></span><span class="hs-comment">-- | Return division remainder</span><span>
</span><span id="line-384"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalRem"><span class="hs-identifier hs-type">naturalRem</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-385"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalRem"><span class="hs-pragma hs-type">naturalRem</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-386"></span><span id="naturalRem"><span class="annot"><span class="annottext">naturalRem :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalRem"><span class="hs-identifier hs-var hs-var">naturalRem</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033413"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033413"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033412"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033412"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#remWord%23"><span class="hs-identifier hs-var">remWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033413"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033412"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-387"></span><span>                             </span><span id="local-6989586621679033411"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033411"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033411"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-388"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalRem"><span class="hs-identifier hs-var">naturalRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033410"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033410"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033409"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033409"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatRemWord%23"><span class="hs-identifier hs-var">bigNatRemWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033410"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033409"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-389"></span><span>                             </span><span id="local-6989586621679033407"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033407"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033407"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-390"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalRem"><span class="hs-identifier hs-var">naturalRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033406"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033406"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033405"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033405"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatRem"><span class="hs-identifier hs-var">bigNatRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033406"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033405"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-391"></span><span>                             </span><span id="local-6989586621679033403"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033403"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033403"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-392"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalRem"><span class="hs-identifier hs-var">naturalRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033402"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033402"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033401"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033401"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatRem"><span class="hs-identifier hs-var">bigNatRem</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033402"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033401"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-393"></span><span>                             </span><span id="local-6989586621679033400"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033400"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033400"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-394"></span><span>
</span><span id="line-395"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAnd"><span class="hs-identifier hs-type">naturalAnd</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-396"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalAnd"><span class="hs-pragma hs-type">naturalAnd</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-397"></span><span id="naturalAnd"><span class="annot"><span class="annottext">naturalAnd :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalAnd"><span class="hs-identifier hs-var hs-var">naturalAnd</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033399"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033399"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033398"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033398"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033399"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#and%23"><span class="hs-operator hs-var">`and#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033398"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-398"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAnd"><span class="hs-identifier hs-var">naturalAnd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033397"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033397"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033396"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033396"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033397"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#and%23"><span class="hs-operator hs-var">`and#`</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatToWord%23"><span class="hs-identifier hs-var">bigNatToWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033396"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-399"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAnd"><span class="hs-identifier hs-var">naturalAnd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033394"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033394"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033393"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033393"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatToWord%23"><span class="hs-identifier hs-var">bigNatToWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033394"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#and%23"><span class="hs-operator hs-var">`and#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033393"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-400"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAnd"><span class="hs-identifier hs-var">naturalAnd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033392"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033392"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033391"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033391"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAnd"><span class="hs-identifier hs-var">bigNatAnd</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033392"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033391"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-401"></span><span>
</span><span id="line-402"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAndNot"><span class="hs-identifier hs-type">naturalAndNot</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-403"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalAndNot"><span class="hs-pragma hs-type">naturalAndNot</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-404"></span><span id="naturalAndNot"><span class="annot"><span class="annottext">naturalAndNot :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalAndNot"><span class="hs-identifier hs-var hs-var">naturalAndNot</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033389"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033389"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033388"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033388"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033389"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#and%23"><span class="hs-operator hs-var">`and#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#not%23"><span class="hs-identifier hs-var">not#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033388"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-405"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAndNot"><span class="hs-identifier hs-var">naturalAndNot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033387"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033387"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033386"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033386"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033387"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#and%23"><span class="hs-operator hs-var">`and#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#not%23"><span class="hs-identifier hs-var">not#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatToWord%23"><span class="hs-identifier hs-var">bigNatToWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033386"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-406"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAndNot"><span class="hs-identifier hs-var">naturalAndNot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033385"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033385"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033384"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033384"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatToWord%23"><span class="hs-identifier hs-var">bigNatToWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033385"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#and%23"><span class="hs-operator hs-var">`and#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#not%23"><span class="hs-identifier hs-var">not#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033384"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-407"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalAndNot"><span class="hs-identifier hs-var">naturalAndNot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033383"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033383"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033382"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033382"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAndNot"><span class="hs-identifier hs-var">bigNatAndNot</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033383"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033382"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-408"></span><span>
</span><span id="line-409"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalOr"><span class="hs-identifier hs-type">naturalOr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-410"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalOr"><span class="hs-pragma hs-type">naturalOr</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-411"></span><span id="naturalOr"><span class="annot"><span class="annottext">naturalOr :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalOr"><span class="hs-identifier hs-var hs-var">naturalOr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033380"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033380"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033379"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033379"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033380"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#or%23"><span class="hs-operator hs-var">`or#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033379"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-412"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalOr"><span class="hs-identifier hs-var">naturalOr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033378"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033378"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033377"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033377"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatOrWord%23"><span class="hs-identifier hs-var">bigNatOrWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033377"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033378"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-413"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalOr"><span class="hs-identifier hs-var">naturalOr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033375"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033375"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033374"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033374"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatOrWord%23"><span class="hs-identifier hs-var">bigNatOrWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033375"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033374"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-414"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalOr"><span class="hs-identifier hs-var">naturalOr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033373"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033373"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033372"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033372"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatOr"><span class="hs-identifier hs-var">bigNatOr</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033373"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033372"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-415"></span><span>
</span><span id="line-416"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalXor"><span class="hs-identifier hs-type">naturalXor</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-417"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalXor"><span class="hs-pragma hs-type">naturalXor</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-418"></span><span id="naturalXor"><span class="annot"><span class="annottext">naturalXor :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalXor"><span class="hs-identifier hs-var hs-var">naturalXor</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033370"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033370"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033369"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033369"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033370"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#xor%23"><span class="hs-operator hs-var">`xor#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033369"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-419"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalXor"><span class="hs-identifier hs-var">naturalXor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033368"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033368"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033367"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033367"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatXorWord%23"><span class="hs-identifier hs-var">bigNatXorWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033367"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033368"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-420"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalXor"><span class="hs-identifier hs-var">naturalXor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033365"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033365"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033364"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033364"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatXorWord%23"><span class="hs-identifier hs-var">bigNatXorWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033365"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033364"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-421"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalXor"><span class="hs-identifier hs-var">naturalXor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033363"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033363"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033362"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033362"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatXor"><span class="hs-identifier hs-var">bigNatXor</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033363"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033362"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-422"></span><span>
</span><span id="line-423"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalTestBit%23"><span class="hs-identifier hs-type">naturalTestBit#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-424"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalTestBit%23"><span class="hs-pragma hs-type">naturalTestBit#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-425"></span><span id="naturalTestBit%23"><span class="annot"><span class="annottext">naturalTestBit# :: Natural -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalTestBit%23"><span class="hs-identifier hs-var hs-var">naturalTestBit#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033360"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033360"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679033359"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033359"><span class="hs-identifier hs-var">i</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033359"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ltWord%23"><span class="hs-operator hs-var">`ltWord#`</span></a></span><span> </span><span class="hs-identifier">WORD_SIZE_IN_BITS##</span><span class="hs-special">)</span><span> </span><span class="hs-operator">&amp;&amp;#</span><span>
</span><span id="line-426"></span><span>                            </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033360"><span class="hs-identifier hs-var">w</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#and%23"><span class="hs-operator hs-var">`and#`</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#uncheckedShiftL%23"><span class="hs-operator hs-var">`uncheckedShiftL#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033359"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#neWord%23"><span class="hs-operator hs-var">`neWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span>
</span><span id="line-427"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalTestBit%23"><span class="hs-identifier hs-var">naturalTestBit#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033358"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033358"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679033357"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033357"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatTestBit%23"><span class="hs-identifier hs-var">bigNatTestBit#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033358"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033357"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-428"></span><span>
</span><span id="line-429"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalTestBit"><span class="hs-identifier hs-type">naturalTestBit</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-430"></span><span id="naturalTestBit"><span class="annot"><span class="annottext">naturalTestBit :: Natural -&gt; Word -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalTestBit"><span class="hs-identifier hs-var hs-var">naturalTestBit</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033354"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033354"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679033353"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033353"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.Natural.html#naturalTestBit%23"><span class="hs-identifier hs-var">naturalTestBit#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033354"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033353"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-431"></span><span>
</span><span id="line-432"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalBit%23"><span class="hs-identifier hs-type">naturalBit#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-433"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalBit%23"><span class="hs-pragma hs-type">naturalBit#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-434"></span><span id="naturalBit%23"><span class="annot"><span class="annottext">naturalBit# :: Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalBit%23"><span class="hs-identifier hs-var hs-var">naturalBit#</span></a></span></span><span> </span><span id="local-6989586621679033352"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033352"><span class="hs-identifier hs-var">i</span></a></span></span><span>
</span><span id="line-435"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033352"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ltWord%23"><span class="hs-operator hs-var">`ltWord#`</span></a></span><span> </span><span class="hs-identifier">WORD_SIZE_IN_BITS##</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">NS</span><span> </span><span class="hs-special">(</span><span class="hs-number">1##</span><span> </span><span class="hs-special">`</span><span class="hs-identifier">uncheckedShiftL#</span><span class="hs-special">`</span><span> </span><span class="hs-identifier">word2Int#</span><span> </span><span class="hs-identifier">i</span><span class="hs-special">)</span><span>
</span><span id="line-436"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                                      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-var">NB</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatBit%23"><span class="hs-identifier hs-var">bigNatBit#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033352"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-437"></span><span>
</span><span id="line-438"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalBit"><span class="hs-identifier hs-type">naturalBit</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-439"></span><span id="naturalBit"><span class="annot"><span class="annottext">naturalBit :: Word -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalBit"><span class="hs-identifier hs-var hs-var">naturalBit</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679033349"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033349"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalBit%23"><span class="hs-identifier hs-var">naturalBit#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033349"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-440"></span><span>
</span><span id="line-441"></span><span class="hs-comment">-- | Compute greatest common divisor.</span><span>
</span><span id="line-442"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGcd"><span class="hs-identifier hs-type">naturalGcd</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-443"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalGcd"><span class="hs-pragma hs-type">naturalGcd</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-444"></span><span id="naturalGcd"><span class="annot"><span class="annottext">naturalGcd :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalGcd"><span class="hs-identifier hs-var hs-var">naturalGcd</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033348"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033348"><span class="hs-identifier hs-var">y</span></a></span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033348"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-445"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGcd"><span class="hs-identifier hs-var">naturalGcd</span></a></span><span> </span><span id="local-6989586621679033347"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033347"><span class="hs-identifier hs-var">x</span></a></span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033347"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-446"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGcd"><span class="hs-identifier hs-var">naturalGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span>
</span><span id="line-447"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGcd"><span class="hs-identifier hs-var">naturalGcd</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span>
</span><span id="line-448"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGcd"><span class="hs-identifier hs-var">naturalGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033346"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033346"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033345"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033345"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatGcd"><span class="hs-identifier hs-var">bigNatGcd</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033346"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033345"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-449"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGcd"><span class="hs-identifier hs-var">naturalGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033343"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033343"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033342"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033342"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatGcdWord%23"><span class="hs-identifier hs-var">bigNatGcdWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033343"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033342"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-450"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGcd"><span class="hs-identifier hs-var">naturalGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033340"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033340"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033339"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033339"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatGcdWord%23"><span class="hs-identifier hs-var">bigNatGcdWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033339"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033340"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-451"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalGcd"><span class="hs-identifier hs-var">naturalGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033338"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033338"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033337"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033337"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#gcdWord%23"><span class="hs-identifier hs-var">gcdWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033338"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033337"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-452"></span><span>
</span><span id="line-453"></span><span class="hs-comment">-- | Compute least common multiple.</span><span>
</span><span id="line-454"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLcm"><span class="hs-identifier hs-type">naturalLcm</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-455"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalLcm"><span class="hs-pragma hs-type">naturalLcm</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-456"></span><span id="naturalLcm"><span class="annot"><span class="annottext">naturalLcm :: Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalLcm"><span class="hs-identifier hs-var hs-var">naturalLcm</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-457"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLcm"><span class="hs-identifier hs-var">naturalLcm</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-458"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLcm"><span class="hs-identifier hs-var">naturalLcm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679033335"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033335"><span class="hs-identifier hs-var">y</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033335"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-459"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLcm"><span class="hs-identifier hs-var">naturalLcm</span></a></span><span> </span><span id="local-6989586621679033334"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033334"><span class="hs-identifier hs-var">x</span></a></span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033334"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-460"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLcm"><span class="hs-identifier hs-var">naturalLcm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033333"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033333"><span class="hs-identifier hs-var">a</span></a></span></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033332"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033332"><span class="hs-identifier hs-var">b</span></a></span></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatLcmWordWord%23"><span class="hs-identifier hs-var">bigNatLcmWordWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033333"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033332"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-461"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLcm"><span class="hs-identifier hs-var">naturalLcm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033330"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033330"><span class="hs-identifier hs-var">a</span></a></span></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033329"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033329"><span class="hs-identifier hs-var">b</span></a></span></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatLcmWord%23"><span class="hs-identifier hs-var">bigNatLcmWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033330"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033329"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-462"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLcm"><span class="hs-identifier hs-var">naturalLcm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033327"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033327"><span class="hs-identifier hs-var">a</span></a></span></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033326"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033326"><span class="hs-identifier hs-var">b</span></a></span></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatLcmWord%23"><span class="hs-identifier hs-var">bigNatLcmWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033326"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033327"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-463"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLcm"><span class="hs-identifier hs-var">naturalLcm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033325"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033325"><span class="hs-identifier hs-var">a</span></a></span></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033324"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033324"><span class="hs-identifier hs-var">b</span></a></span></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatLcm"><span class="hs-identifier hs-var">bigNatLcm</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033325"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033324"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-464"></span><span>
</span><span id="line-465"></span><span class="hs-comment">-- | Base 2 logarithm</span><span>
</span><span id="line-466"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLog2%23"><span class="hs-identifier hs-type">naturalLog2#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-467"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalLog2%23"><span class="hs-pragma hs-type">naturalLog2#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-468"></span><span id="naturalLog2%23"><span class="annot"><span class="annottext">naturalLog2# :: Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalLog2%23"><span class="hs-identifier hs-var hs-var">naturalLog2#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033322"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033322"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word#
</span><a href="GHC.Num.Primitives.html#wordLog2%23"><span class="hs-identifier hs-var">wordLog2#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033322"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-469"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLog2%23"><span class="hs-identifier hs-var">naturalLog2#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033320"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033320"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatLog2%23"><span class="hs-identifier hs-var">bigNatLog2#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033320"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-470"></span><span>
</span><span id="line-471"></span><span class="hs-comment">-- | Base 2 logarithm</span><span>
</span><span id="line-472"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLog2"><span class="hs-identifier hs-type">naturalLog2</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-473"></span><span id="naturalLog2"><span class="annot"><span class="annottext">naturalLog2 :: Natural -&gt; Word
</span><a href="GHC.Num.Natural.html#naturalLog2"><span class="hs-identifier hs-var hs-var">naturalLog2</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033317"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033317"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalLog2%23"><span class="hs-identifier hs-var">naturalLog2#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033317"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-474"></span><span>
</span><span id="line-475"></span><span class="hs-comment">-- | Logarithm for an arbitrary base</span><span>
</span><span id="line-476"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLogBaseWord%23"><span class="hs-identifier hs-type">naturalLogBaseWord#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-477"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalLogBaseWord%23"><span class="hs-pragma hs-type">naturalLogBaseWord#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-478"></span><span id="naturalLogBaseWord%23"><span class="annot"><span class="annottext">naturalLogBaseWord# :: Word# -&gt; Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalLogBaseWord%23"><span class="hs-identifier hs-var hs-var">naturalLogBaseWord#</span></a></span></span><span> </span><span id="local-6989586621679033316"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033316"><span class="hs-identifier hs-var">base</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033315"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033315"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.Primitives.html#wordLogBase%23"><span class="hs-identifier hs-var">wordLogBase#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033316"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033315"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-479"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLogBaseWord%23"><span class="hs-identifier hs-var">naturalLogBaseWord#</span></a></span><span> </span><span id="local-6989586621679033313"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033313"><span class="hs-identifier hs-var">base</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033312"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033312"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatLogBaseWord%23"><span class="hs-identifier hs-var">bigNatLogBaseWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033313"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033312"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-480"></span><span>
</span><span id="line-481"></span><span class="hs-comment">-- | Logarithm for an arbitrary base</span><span>
</span><span id="line-482"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLogBaseWord"><span class="hs-identifier hs-type">naturalLogBaseWord</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-483"></span><span id="naturalLogBaseWord"><span class="annot"><span class="annottext">naturalLogBaseWord :: Word -&gt; Natural -&gt; Word
</span><a href="GHC.Num.Natural.html#naturalLogBaseWord"><span class="hs-identifier hs-var hs-var">naturalLogBaseWord</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679033309"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033309"><span class="hs-identifier hs-var">base</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033308"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033308"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalLogBaseWord%23"><span class="hs-identifier hs-var">naturalLogBaseWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033309"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033308"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-484"></span><span>
</span><span id="line-485"></span><span class="hs-comment">-- | Logarithm for an arbitrary base</span><span>
</span><span id="line-486"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLogBase%23"><span class="hs-identifier hs-type">naturalLogBase#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-487"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalLogBase%23"><span class="hs-pragma hs-type">naturalLogBase#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-488"></span><span id="naturalLogBase%23"><span class="annot"><span class="annottext">naturalLogBase# :: Natural -&gt; Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalLogBase%23"><span class="hs-identifier hs-var hs-var">naturalLogBase#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033307"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033307"><span class="hs-identifier hs-var">base</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033306"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033306"><span class="hs-identifier hs-var">a</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalLogBaseWord%23"><span class="hs-identifier hs-var">naturalLogBaseWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033307"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033306"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-489"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLogBase%23"><span class="hs-identifier hs-var">naturalLogBase#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span>   </span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-490"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLogBase%23"><span class="hs-identifier hs-var">naturalLogBase#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033305"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033305"><span class="hs-identifier hs-var">base</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033304"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033304"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatLogBase%23"><span class="hs-identifier hs-var">bigNatLogBase#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033305"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033304"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-491"></span><span>
</span><span id="line-492"></span><span class="hs-comment">-- | Logarithm for an arbitrary base</span><span>
</span><span id="line-493"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalLogBase"><span class="hs-identifier hs-type">naturalLogBase</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-494"></span><span id="naturalLogBase"><span class="annot"><span class="annottext">naturalLogBase :: Natural -&gt; Natural -&gt; Word
</span><a href="GHC.Num.Natural.html#naturalLogBase"><span class="hs-identifier hs-var hs-var">naturalLogBase</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033301"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033301"><span class="hs-identifier hs-var">base</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679033300"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033300"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalLogBase%23"><span class="hs-identifier hs-var">naturalLogBase#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033301"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033300"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-495"></span><span>
</span><span id="line-496"></span><span class="hs-comment">-- | \&quot;@'naturalPowMod' /b/ /e/ /m/@\&quot; computes base @/b/@ raised to</span><span>
</span><span id="line-497"></span><span class="hs-comment">-- exponent @/e/@ modulo @/m/@.</span><span>
</span><span id="line-498"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPowMod"><span class="hs-identifier hs-type">naturalPowMod</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-499"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalPowMod"><span class="hs-pragma hs-type">naturalPowMod</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-500"></span><span id="naturalPowMod"><span class="annot"><span class="annottext">naturalPowMod :: Natural -&gt; Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalPowMod"><span class="hs-identifier hs-var hs-var">naturalPowMod</span></a></span></span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>         </span><span class="hs-glyph">!</span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>       </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
forall a. a
</span><a href="../../ghc-prim/src/GHC.Prim.Exception.html#raiseDivZero"><span class="hs-identifier hs-var">raiseDivZero</span></a></span><span>
</span><span id="line-501"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPowMod"><span class="hs-identifier hs-var">naturalPowMod</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>          </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-502"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPowMod"><span class="hs-identifier hs-var">naturalPowMod</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>          </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span>
</span><span id="line-503"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPowMod"><span class="hs-identifier hs-var">naturalPowMod</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span>   </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-504"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPowMod"><span class="hs-identifier hs-var">naturalPowMod</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>   </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="annot"><span class="annottext">Natural
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span>
</span><span id="line-505"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPowMod"><span class="hs-identifier hs-var">naturalPowMod</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033299"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033299"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span>    </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033298"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033298"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033297"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033297"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#powModWord%23"><span class="hs-identifier hs-var">powModWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033299"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033298"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033297"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-506"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPowMod"><span class="hs-identifier hs-var">naturalPowMod</span></a></span><span> </span><span id="local-6989586621679033295"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033295"><span class="hs-identifier hs-var">b</span></a></span></span><span>         </span><span id="local-6989586621679033294"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033294"><span class="hs-identifier hs-var">e</span></a></span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033293"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033293"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-var">NS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatPowModWord%23"><span class="hs-identifier hs-var">bigNatPowModWord#</span></a></span><span>
</span><span id="line-507"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; ByteArray#
</span><a href="GHC.Num.Natural.html#naturalToBigNat%23"><span class="hs-identifier hs-var">naturalToBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033295"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-508"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; ByteArray#
</span><a href="GHC.Num.Natural.html#naturalToBigNat%23"><span class="hs-identifier hs-var">naturalToBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033294"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-509"></span><span>                                                    </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033293"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-510"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalPowMod"><span class="hs-identifier hs-var">naturalPowMod</span></a></span><span> </span><span id="local-6989586621679033291"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033291"><span class="hs-identifier hs-var">b</span></a></span></span><span>         </span><span id="local-6989586621679033290"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033290"><span class="hs-identifier hs-var">e</span></a></span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033289"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033289"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span>
</span><span id="line-511"></span><span>                                                </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatPowMod"><span class="hs-identifier hs-var">bigNatPowMod</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; ByteArray#
</span><a href="GHC.Num.Natural.html#naturalToBigNat%23"><span class="hs-identifier hs-var">naturalToBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033291"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-512"></span><span>                                                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; ByteArray#
</span><a href="GHC.Num.Natural.html#naturalToBigNat%23"><span class="hs-identifier hs-var">naturalToBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033290"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-513"></span><span>                                                              </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033289"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-514"></span><span>
</span><span id="line-515"></span><span class="hs-comment">-- | Compute the number of digits of the Natural in the given base.</span><span>
</span><span id="line-516"></span><span class="hs-comment">--</span><span>
</span><span id="line-517"></span><span class="hs-comment">-- `base` must be &gt; 1</span><span>
</span><span id="line-518"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSizeInBase%23"><span class="hs-identifier hs-type">naturalSizeInBase#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-519"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalSizeInBase%23"><span class="hs-pragma hs-type">naturalSizeInBase#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-520"></span><span id="naturalSizeInBase%23"><span class="annot"><span class="annottext">naturalSizeInBase# :: Word# -&gt; Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalSizeInBase%23"><span class="hs-identifier hs-var hs-var">naturalSizeInBase#</span></a></span></span><span> </span><span id="local-6989586621679033287"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033287"><span class="hs-identifier hs-var">base</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033286"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033286"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.Primitives.html#wordSizeInBase%23"><span class="hs-identifier hs-var">wordSizeInBase#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033287"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033286"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-521"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalSizeInBase%23"><span class="hs-identifier hs-var">naturalSizeInBase#</span></a></span><span> </span><span id="local-6989586621679033284"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033284"><span class="hs-identifier hs-var">base</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033283"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033283"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatSizeInBase%23"><span class="hs-identifier hs-var">bigNatSizeInBase#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033284"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033283"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-522"></span><span>
</span><span id="line-523"></span><span class="hs-comment">-- | Write a 'Natural' to @/addr/@ in base-256 representation and return the</span><span>
</span><span id="line-524"></span><span class="hs-comment">-- number of bytes written.</span><span>
</span><span id="line-525"></span><span class="hs-comment">--</span><span>
</span><span id="line-526"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: write most significant</span><span>
</span><span id="line-527"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-528"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-529"></span><span id="local-6989586621679033689"><span class="annot"><a href="GHC.Num.Natural.html#naturalToAddr%23"><span class="hs-identifier hs-type">naturalToAddr#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Addr%23"><span class="hs-identifier hs-type">Addr#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679033689"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679033689"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-530"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalToAddr%23"><span class="hs-pragma hs-type">naturalToAddr#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-531"></span><span id="naturalToAddr%23"><span class="annot"><span class="annottext">naturalToAddr# :: forall s.
Natural -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
</span><a href="GHC.Num.Natural.html#naturalToAddr%23"><span class="hs-identifier hs-var hs-var">naturalToAddr#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033280"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033280"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
forall s.
Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
</span><a href="GHC.Num.Primitives.html#wordToAddr%23"><span class="hs-identifier hs-var">wordToAddr#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033280"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-532"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToAddr%23"><span class="hs-identifier hs-var">naturalToAddr#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033278"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033278"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
forall s.
ByteArray# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatToAddr%23"><span class="hs-identifier hs-var">bigNatToAddr#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033278"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-533"></span><span>
</span><span id="line-534"></span><span class="hs-comment">-- | Write a 'Natural' to @/addr/@ in base-256 representation and return the</span><span>
</span><span id="line-535"></span><span class="hs-comment">-- number of bytes written.</span><span>
</span><span id="line-536"></span><span class="hs-comment">--</span><span>
</span><span id="line-537"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: write most significant</span><span>
</span><span id="line-538"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-539"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-540"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToAddr"><span class="hs-identifier hs-type">naturalToAddr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Addr%23"><span class="hs-identifier hs-type">Addr#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-541"></span><span id="naturalToAddr"><span class="annot"><span class="annottext">naturalToAddr :: Natural -&gt; Addr# -&gt; Bool# -&gt; IO Word
</span><a href="GHC.Num.Natural.html#naturalToAddr"><span class="hs-identifier hs-var hs-var">naturalToAddr</span></a></span></span><span> </span><span id="local-6989586621679033275"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033275"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621679033274"><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679033274"><span class="hs-identifier hs-var">addr</span></a></span></span><span> </span><span id="local-6989586621679033273"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033273"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(State# RealWorld -&gt; (# State# RealWorld, Word #)) -&gt; IO Word
forall a. (State# RealWorld -&gt; (# State# RealWorld, a #)) -&gt; IO a
</span><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-var">IO</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679033272"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679033272"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Natural
-&gt; Addr#
-&gt; Bool#
-&gt; State# RealWorld
-&gt; (# State# RealWorld, Word# #)
forall s.
Natural -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
</span><a href="GHC.Num.Natural.html#naturalToAddr%23"><span class="hs-identifier hs-var">naturalToAddr#</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679033275"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679033274"><span class="hs-identifier hs-var">addr</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033273"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679033272"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-542"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033271"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679033271"><span class="hs-identifier hs-var">s'</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679033270"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033270"><span class="hs-identifier hs-var">w</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679033271"><span class="hs-identifier hs-var">s'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033270"><span class="hs-identifier hs-var">w</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-543"></span><span>
</span><span id="line-544"></span><span>
</span><span id="line-545"></span><span class="hs-comment">-- | Read a Natural in base-256 representation from an Addr#.</span><span>
</span><span id="line-546"></span><span class="hs-comment">--</span><span>
</span><span id="line-547"></span><span class="hs-comment">-- The size is given in bytes.</span><span>
</span><span id="line-548"></span><span class="hs-comment">--</span><span>
</span><span id="line-549"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: most significant</span><span>
</span><span id="line-550"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-551"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-552"></span><span class="hs-comment">--</span><span>
</span><span id="line-553"></span><span class="hs-comment">-- Null higher limbs are automatically trimed.</span><span>
</span><span id="line-554"></span><span id="local-6989586621679033684"><span class="annot"><a href="GHC.Num.Natural.html#naturalFromAddr%23"><span class="hs-identifier hs-type">naturalFromAddr#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Addr%23"><span class="hs-identifier hs-type">Addr#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679033684"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679033684"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-555"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalFromAddr%23"><span class="hs-pragma hs-type">naturalFromAddr#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-556"></span><span id="naturalFromAddr%23"><span class="annot"><span class="annottext">naturalFromAddr# :: forall s.
Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Natural #)
</span><a href="GHC.Num.Natural.html#naturalFromAddr%23"><span class="hs-identifier hs-var hs-var">naturalFromAddr#</span></a></span></span><span> </span><span id="local-6989586621679033268"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033268"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span id="local-6989586621679033267"><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679033267"><span class="hs-identifier hs-var">addr</span></a></span></span><span> </span><span id="local-6989586621679033266"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033266"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span id="local-6989586621679033265"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679033265"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-557"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, ByteArray# #)
forall s.
Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatFromAddr%23"><span class="hs-identifier hs-var">bigNatFromAddr#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033268"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679033267"><span class="hs-identifier hs-var">addr</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033266"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679033265"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-558"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033263"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679033263"><span class="hs-identifier hs-var">s'</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679033262"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033262"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679033263"><span class="hs-identifier hs-var">s'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033262"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-559"></span><span>
</span><span id="line-560"></span><span class="hs-comment">-- | Read a Natural in base-256 representation from an Addr#.</span><span>
</span><span id="line-561"></span><span class="hs-comment">--</span><span>
</span><span id="line-562"></span><span class="hs-comment">-- The size is given in bytes.</span><span>
</span><span id="line-563"></span><span class="hs-comment">--</span><span>
</span><span id="line-564"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: most significant</span><span>
</span><span id="line-565"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-566"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-567"></span><span class="hs-comment">--</span><span>
</span><span id="line-568"></span><span class="hs-comment">-- Null higher limbs are automatically trimed.</span><span>
</span><span id="line-569"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalFromAddr"><span class="hs-identifier hs-type">naturalFromAddr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Addr%23"><span class="hs-identifier hs-type">Addr#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-570"></span><span id="naturalFromAddr"><span class="annot"><span class="annottext">naturalFromAddr :: Word# -&gt; Addr# -&gt; Bool# -&gt; IO Natural
</span><a href="GHC.Num.Natural.html#naturalFromAddr"><span class="hs-identifier hs-var hs-var">naturalFromAddr</span></a></span></span><span> </span><span id="local-6989586621679033260"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033260"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span id="local-6989586621679033259"><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679033259"><span class="hs-identifier hs-var">addr</span></a></span></span><span> </span><span id="local-6989586621679033258"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033258"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(State# RealWorld -&gt; (# State# RealWorld, Natural #)) -&gt; IO Natural
forall a. (State# RealWorld -&gt; (# State# RealWorld, a #)) -&gt; IO a
</span><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-var">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
-&gt; Addr#
-&gt; Bool#
-&gt; State# RealWorld
-&gt; (# State# RealWorld, Natural #)
forall s.
Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Natural #)
</span><a href="GHC.Num.Natural.html#naturalFromAddr%23"><span class="hs-identifier hs-var">naturalFromAddr#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033260"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679033259"><span class="hs-identifier hs-var">addr</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033258"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-571"></span><span>
</span><span id="line-572"></span><span>
</span><span id="line-573"></span><span class="hs-comment">-- | Write a Natural in base-256 representation and return the</span><span>
</span><span id="line-574"></span><span class="hs-comment">-- number of bytes written.</span><span>
</span><span id="line-575"></span><span class="hs-comment">--</span><span>
</span><span id="line-576"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: most significant</span><span>
</span><span id="line-577"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-578"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-579"></span><span id="local-6989586621679033681"><span class="annot"><a href="GHC.Num.Natural.html#naturalToMutableByteArray%23"><span class="hs-identifier hs-type">naturalToMutableByteArray#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#MutableByteArray%23"><span class="hs-identifier hs-type">MutableByteArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679033681"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679033681"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679033681"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-580"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalToMutableByteArray%23"><span class="hs-pragma hs-type">naturalToMutableByteArray#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-581"></span><span id="naturalToMutableByteArray%23"><span class="annot"><span class="annottext">naturalToMutableByteArray# :: forall s.
Natural
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
</span><a href="GHC.Num.Natural.html#naturalToMutableByteArray%23"><span class="hs-identifier hs-var hs-var">naturalToMutableByteArray#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679033256"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033256"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
forall s.
Word#
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
</span><a href="GHC.Num.Primitives.html#wordToMutableByteArray%23"><span class="hs-identifier hs-var">wordToMutableByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033256"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-582"></span><span class="annot"><a href="GHC.Num.Natural.html#naturalToMutableByteArray%23"><span class="hs-identifier hs-var">naturalToMutableByteArray#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679033254"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033254"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray#
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
forall s.
ByteArray#
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatToMutableByteArray%23"><span class="hs-identifier hs-var">bigNatToMutableByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033254"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-583"></span><span>
</span><span id="line-584"></span><span class="hs-comment">-- | Read a Natural in base-256 representation from a ByteArray#.</span><span>
</span><span id="line-585"></span><span class="hs-comment">--</span><span>
</span><span id="line-586"></span><span class="hs-comment">-- The size is given in bytes.</span><span>
</span><span id="line-587"></span><span class="hs-comment">--</span><span>
</span><span id="line-588"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: most significant</span><span>
</span><span id="line-589"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-590"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-591"></span><span class="hs-comment">--</span><span>
</span><span id="line-592"></span><span class="hs-comment">-- Null higher limbs are automatically trimed.</span><span>
</span><span id="line-593"></span><span id="local-6989586621679033677"><span class="annot"><a href="GHC.Num.Natural.html#naturalFromByteArray%23"><span class="hs-identifier hs-type">naturalFromByteArray#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#ByteArray%23"><span class="hs-identifier hs-type">ByteArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679033677"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679033677"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-594"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#naturalFromByteArray%23"><span class="hs-pragma hs-type">naturalFromByteArray#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-595"></span><span id="naturalFromByteArray%23"><span class="annot"><span class="annottext">naturalFromByteArray# :: forall s.
Word#
-&gt; ByteArray#
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Natural #)
</span><a href="GHC.Num.Natural.html#naturalFromByteArray%23"><span class="hs-identifier hs-var hs-var">naturalFromByteArray#</span></a></span></span><span> </span><span id="local-6989586621679033251"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033251"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span id="local-6989586621679033250"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033250"><span class="hs-identifier hs-var">ba</span></a></span></span><span> </span><span id="local-6989586621679033249"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033249"><span class="hs-identifier hs-var">off</span></a></span></span><span> </span><span id="local-6989586621679033248"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033248"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span id="local-6989586621679033247"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679033247"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word#
-&gt; ByteArray#
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, ByteArray# #)
forall s.
Word#
-&gt; ByteArray#
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatFromByteArray%23"><span class="hs-identifier hs-var">bigNatFromByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033251"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033250"><span class="hs-identifier hs-var">ba</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679033249"><span class="hs-identifier hs-var">off</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679033248"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679033247"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-596"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679033245"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679033245"><span class="hs-identifier hs-var">s'</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679033244"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033244"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679033245"><span class="hs-identifier hs-var">s'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679033244"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-597"></span></pre></body></html>